{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def reduce_mem_usage_colwise(col):\n",
    "    numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']\n",
    "    col_type = col.dtypes\n",
    "    if col_type in numerics:\n",
    "        c_min = col.min()\n",
    "        c_max = col.max()\n",
    "        if str(col_type)[:3] == 'int':\n",
    "            if c_min > np.iinfo(np.int8).min and c_max < np.iinfo(np.int8).max:\n",
    "                col = col.astype(np.int8)\n",
    "            elif c_min > np.iinfo(np.int16).min and c_max < np.iinfo(np.int16).max:\n",
    "                col = col.astype(np.int16)\n",
    "            elif c_min > np.iinfo(np.int32).min and c_max < np.iinfo(np.int32).max:\n",
    "                col = col.astype(np.int32)\n",
    "            elif c_min > np.iinfo(np.int64).min and c_max < np.iinfo(np.int64).max:\n",
    "                col = col.astype(np.int64)  \n",
    "        else:\n",
    "            if c_min > np.finfo(np.float16).min and c_max < np.finfo(np.float16).max:\n",
    "                col = col.astype(np.float16)\n",
    "            elif c_min > np.finfo(np.float32).min and c_max < np.finfo(np.float32).max:\n",
    "                col = col.astype(np.float32)\n",
    "            else:\n",
    "                col = col.astype(np.float64)       \n",
    "    return col"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "from sklearn.model_selection import KFold, StratifiedKFold, GroupKFold, train_test_split\n",
    "from sklearn.metrics import roc_auc_score\n",
    "\n",
    "import xgboost as xgb\n",
    "\n",
    "import multiprocessing as mp\n",
    "from functools import partial\n",
    "import gc\n",
    "from tqdm import tqdm\n",
    "import warnings\n",
    "warnings.simplefilter(action='ignore', category=FutureWarning)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 16.7 s, sys: 1.92 s, total: 18.6 s\n",
      "Wall time: 18.6 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "DATA_PATH = 'Data/'\n",
    "OUTPUT_PATH = 'Output/'\n",
    "\n",
    "train = pd.read_csv(DATA_PATH + 'train_data.csv')\n",
    "train_labels = pd.read_csv(DATA_PATH + 'train_labels.csv')\n",
    "test = pd.read_csv(DATA_PATH + 'test_data.csv')\n",
    "sample_sub = pd.read_csv(DATA_PATH + 'Sample Submission.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train = pd.merge(train, train_labels, on = 'patient_id', how='left')\n",
    "df = pd.concat([train, test])\n",
    "df = df.drop_duplicates()\n",
    "\n",
    "comp_train = train_labels.copy()\n",
    "comp_test = sample_sub.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Consider the data only for the last 6 months\n",
    "df = df[df['event_time'] < 180]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df['made_payment'] = pd.qcut(df['patient_payment'], 25000, duplicates='drop', labels=False).astype('str')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 5.33 s, sys: 780 ms, total: 6.11 s\n",
      "Wall time: 6.11 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "for c in ['event_name', 'plan_type', 'specialty', 'made_payment']:\n",
    "    temp = df.groupby(['patient_id', c]).size().unstack().reset_index()\n",
    "    temp.columns = [col + '_size_' + c if col != 'patient_id' else 'patient_id' for col in temp.columns]\n",
    "    comp_train = pd.merge(comp_train, temp, on = 'patient_id', how='left')\n",
    "    comp_test = pd.merge(comp_test, temp, on = 'patient_id', how='left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 12.1 s, sys: 1.34 s, total: 13.4 s\n",
      "Wall time: 13.4 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "for c in ['event_name', 'plan_type', 'specialty', 'made_payment']:\n",
    "    temp = df.groupby(c).apply(lambda x: x.groupby('patient_id')['event_time'].min()).unstack().T.reset_index()\n",
    "    temp.columns = ['recency_' + col + '_' + c if col != 'patient_id' else 'patient_id' for col in temp.columns]\n",
    "    comp_train = pd.merge(comp_train, temp, on = 'patient_id', how='left')\n",
    "    comp_test = pd.merge(comp_test, temp, on = 'patient_id', how='left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 15.6 s, sys: 2.32 s, total: 17.9 s\n",
      "Wall time: 17.9 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "for c in ['event_name', 'plan_type', 'specialty', 'made_payment']:\n",
    "    temp = df.groupby(c).apply(lambda x: x.groupby('patient_id')['event_time'].nunique()).unstack().T.reset_index()\n",
    "    temp.columns = ['unique_event_time_' + col + '_' + c if col != 'patient_id' else 'patient_id' for col in temp.columns]\n",
    "    comp_train = pd.merge(comp_train, temp, on = 'patient_id', how='left')\n",
    "    comp_test = pd.merge(comp_test, temp, on = 'patient_id', how='left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 7.17 s, sys: 1.21 s, total: 8.38 s\n",
      "Wall time: 8.38 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "for c in ['event_name', 'plan_type', 'specialty']:\n",
    "    payment = df.groupby(c).apply(lambda x: x.groupby('patient_id')['patient_payment'].sum()).unstack().T.reset_index()\n",
    "    payment.columns = [col + '_total_payment_' + c if col != 'patient_id' else 'patient_id' for col in payment.columns]\n",
    "    comp_train = pd.merge(comp_train, payment, on = 'patient_id', how='left')\n",
    "    comp_test = pd.merge(comp_test, payment, on = 'patient_id', how='left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 7.23 s, sys: 1.2 s, total: 8.43 s\n",
      "Wall time: 8.42 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "for c in ['event_name', 'plan_type', 'specialty']:\n",
    "    payment = df.groupby(c).apply(lambda x: x.groupby('patient_id')['patient_payment'].mean()).unstack().T.reset_index()\n",
    "    payment.columns = [col + '_mean_payment_' + c if col != 'patient_id' else 'patient_id' for col in payment.columns]\n",
    "    comp_train = pd.merge(comp_train, payment, on = 'patient_id', how='left')\n",
    "    comp_test = pd.merge(comp_test, payment, on = 'patient_id', how='left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 7.38 s, sys: 1.33 s, total: 8.72 s\n",
      "Wall time: 8.71 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "for c in ['event_name', 'plan_type', 'specialty']:\n",
    "    payment = df.groupby(c).apply(lambda x: x.groupby('patient_id')['patient_payment'].max()).unstack().T.reset_index()\n",
    "    payment.columns = [col + '_max_payment_' + c if col != 'patient_id' else 'patient_id' for col in payment.columns]\n",
    "    comp_train = pd.merge(comp_train, payment, on = 'patient_id', how='left')\n",
    "    comp_test = pd.merge(comp_test, payment, on = 'patient_id', how='left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "comp_train = comp_train.apply(lambda x: reduce_mem_usage_colwise(x))\n",
    "comp_test = comp_test.apply(lambda x: reduce_mem_usage_colwise(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "del train, test, df, temp, payment\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10394"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train, test = comp_train, comp_test\n",
    "ID_COL, TARGET_COL = 'patient_id', 'outcome_flag'\n",
    "target = train[TARGET_COL]\n",
    "features = [c for c in train if c not in [ID_COL, TARGET_COL]]\n",
    "features = train[features].isnull().sum().sort_values(ascending=False)[250:].index.tolist()\n",
    "len(features)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {\n",
    "    'learning_rate': 0.01,\n",
    "    'max_depth': 4,\n",
    "    'colsample_bytree':.3,\n",
    "    'objective': 'binary:logistic',\n",
    "    'eval_metric': 'auc',\n",
    "    'nthread': 4,\n",
    "    'silent': 1,\n",
    "    \"lambda\": 5,\n",
    "    \"lambda_l2\":5,\n",
    "    'scale_pos_weight': 1,\n",
    "    'grow_policy': 'lossguide',\n",
    "    'max_leaves': 50,\n",
    "    'tree_method': 'exact',\n",
    "    'alpha': 0.5,\n",
    "    'colsample_bynode': 0.3\n",
    "}\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "fold n°0\n",
      "[0]\ttrain-auc:0.686532\tval-auc:0.679817\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.853191\tval-auc:0.837027\n",
      "[800]\ttrain-auc:0.88649\tval-auc:0.857536\n",
      "[1200]\ttrain-auc:0.905444\tval-auc:0.864859\n",
      "[1600]\ttrain-auc:0.918911\tval-auc:0.868284\n",
      "[2000]\ttrain-auc:0.929382\tval-auc:0.869755\n",
      "[2400]\ttrain-auc:0.937507\tval-auc:0.870772\n",
      "[2800]\ttrain-auc:0.944407\tval-auc:0.871664\n",
      "[3200]\ttrain-auc:0.950201\tval-auc:0.872386\n",
      "[3600]\ttrain-auc:0.955139\tval-auc:0.872994\n",
      "[4000]\ttrain-auc:0.959533\tval-auc:0.873171\n",
      "[4400]\ttrain-auc:0.963349\tval-auc:0.873616\n",
      "[4800]\ttrain-auc:0.96661\tval-auc:0.873252\n",
      "[5200]\ttrain-auc:0.969515\tval-auc:0.87314\n",
      "Stopping. Best iteration:\n",
      "[4412]\ttrain-auc:0.963447\tval-auc:0.873722\n",
      "\n",
      "fold n°1\n",
      "[0]\ttrain-auc:0.683774\tval-auc:0.683527\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.853608\tval-auc:0.839091\n",
      "[800]\ttrain-auc:0.885312\tval-auc:0.854087\n",
      "[1200]\ttrain-auc:0.903502\tval-auc:0.857954\n",
      "[1600]\ttrain-auc:0.91709\tval-auc:0.860858\n",
      "[2000]\ttrain-auc:0.927252\tval-auc:0.862099\n",
      "[2400]\ttrain-auc:0.93574\tval-auc:0.862225\n",
      "[2800]\ttrain-auc:0.94234\tval-auc:0.862529\n",
      "Stopping. Best iteration:\n",
      "[2335]\ttrain-auc:0.934452\tval-auc:0.86262\n",
      "\n",
      "fold n°2\n",
      "[0]\ttrain-auc:0.696236\tval-auc:0.687924\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.856523\tval-auc:0.812595\n",
      "[800]\ttrain-auc:0.888646\tval-auc:0.835961\n",
      "[1200]\ttrain-auc:0.906944\tval-auc:0.84503\n",
      "[1600]\ttrain-auc:0.920232\tval-auc:0.847845\n",
      "[2000]\ttrain-auc:0.930306\tval-auc:0.849822\n",
      "[2400]\ttrain-auc:0.938132\tval-auc:0.851164\n",
      "[2800]\ttrain-auc:0.944788\tval-auc:0.851777\n",
      "[3200]\ttrain-auc:0.950385\tval-auc:0.852115\n",
      "[3600]\ttrain-auc:0.955153\tval-auc:0.852322\n",
      "[4000]\ttrain-auc:0.959366\tval-auc:0.852428\n",
      "[4400]\ttrain-auc:0.963063\tval-auc:0.851895\n",
      "Stopping. Best iteration:\n",
      "[3632]\ttrain-auc:0.955543\tval-auc:0.852574\n",
      "\n",
      "fold n°3\n",
      "[0]\ttrain-auc:0.684661\tval-auc:0.636359\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.856664\tval-auc:0.796973\n",
      "[800]\ttrain-auc:0.889077\tval-auc:0.817631\n",
      "[1200]\ttrain-auc:0.90791\tval-auc:0.825975\n",
      "[1600]\ttrain-auc:0.920976\tval-auc:0.82905\n",
      "[2000]\ttrain-auc:0.931201\tval-auc:0.830968\n",
      "[2400]\ttrain-auc:0.938888\tval-auc:0.832507\n",
      "[2800]\ttrain-auc:0.945209\tval-auc:0.832656\n",
      "[3200]\ttrain-auc:0.950536\tval-auc:0.832759\n",
      "[3600]\ttrain-auc:0.955229\tval-auc:0.832934\n",
      "[4000]\ttrain-auc:0.959424\tval-auc:0.832424\n",
      "Stopping. Best iteration:\n",
      "[3350]\ttrain-auc:0.952366\tval-auc:0.833043\n",
      "\n",
      "fold n°4\n",
      "[0]\ttrain-auc:0.684989\tval-auc:0.682861\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.856952\tval-auc:0.803184\n",
      "[800]\ttrain-auc:0.888338\tval-auc:0.825889\n",
      "[1200]\ttrain-auc:0.906969\tval-auc:0.833464\n",
      "[1600]\ttrain-auc:0.920304\tval-auc:0.836471\n",
      "[2000]\ttrain-auc:0.930405\tval-auc:0.838219\n",
      "[2400]\ttrain-auc:0.938137\tval-auc:0.839062\n",
      "[2800]\ttrain-auc:0.944524\tval-auc:0.839151\n",
      "[3200]\ttrain-auc:0.950127\tval-auc:0.839509\n",
      "[3600]\ttrain-auc:0.955226\tval-auc:0.839825\n",
      "[4000]\ttrain-auc:0.959498\tval-auc:0.840335\n",
      "[4400]\ttrain-auc:0.963281\tval-auc:0.840306\n",
      "[4800]\ttrain-auc:0.966673\tval-auc:0.840498\n",
      "[5200]\ttrain-auc:0.969762\tval-auc:0.840739\n",
      "[5600]\ttrain-auc:0.972447\tval-auc:0.840627\n",
      "[6000]\ttrain-auc:0.974871\tval-auc:0.840576\n",
      "Stopping. Best iteration:\n",
      "[5240]\ttrain-auc:0.970058\tval-auc:0.840894\n",
      "\n",
      "fold n°5\n",
      "[0]\ttrain-auc:0.68129\tval-auc:0.665209\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.858045\tval-auc:0.799828\n",
      "[800]\ttrain-auc:0.889094\tval-auc:0.816031\n",
      "[1200]\ttrain-auc:0.907443\tval-auc:0.822438\n",
      "[1600]\ttrain-auc:0.920956\tval-auc:0.82635\n",
      "[2000]\ttrain-auc:0.930961\tval-auc:0.828299\n",
      "[2400]\ttrain-auc:0.938971\tval-auc:0.82911\n",
      "[2800]\ttrain-auc:0.945528\tval-auc:0.829887\n",
      "[3200]\ttrain-auc:0.951158\tval-auc:0.829689\n",
      "[3600]\ttrain-auc:0.955992\tval-auc:0.829706\n",
      "Stopping. Best iteration:\n",
      "[2952]\ttrain-auc:0.947897\tval-auc:0.830059\n",
      "\n",
      "fold n°6\n",
      "[0]\ttrain-auc:0.671423\tval-auc:0.704417\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.857061\tval-auc:0.807819\n",
      "[800]\ttrain-auc:0.888603\tval-auc:0.824616\n",
      "[1200]\ttrain-auc:0.906806\tval-auc:0.828305\n",
      "[1600]\ttrain-auc:0.920131\tval-auc:0.829524\n",
      "[2000]\ttrain-auc:0.929962\tval-auc:0.830921\n",
      "[2400]\ttrain-auc:0.937779\tval-auc:0.831827\n",
      "[2800]\ttrain-auc:0.944333\tval-auc:0.832627\n",
      "[3200]\ttrain-auc:0.949953\tval-auc:0.833198\n",
      "[3600]\ttrain-auc:0.954952\tval-auc:0.833293\n",
      "[4000]\ttrain-auc:0.95916\tval-auc:0.833798\n",
      "[4400]\ttrain-auc:0.96285\tval-auc:0.834216\n",
      "[4800]\ttrain-auc:0.966091\tval-auc:0.834067\n",
      "[5200]\ttrain-auc:0.969063\tval-auc:0.834331\n",
      "[5600]\ttrain-auc:0.971662\tval-auc:0.834248\n",
      "[6000]\ttrain-auc:0.97395\tval-auc:0.834242\n",
      "Stopping. Best iteration:\n",
      "[5267]\ttrain-auc:0.969533\tval-auc:0.834495\n",
      "\n",
      "fold n°7\n",
      "[0]\ttrain-auc:0.690347\tval-auc:0.640881\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.856875\tval-auc:0.786571\n",
      "[800]\ttrain-auc:0.88892\tval-auc:0.809618\n",
      "[1200]\ttrain-auc:0.907646\tval-auc:0.819903\n",
      "[1600]\ttrain-auc:0.920656\tval-auc:0.825424\n",
      "[2000]\ttrain-auc:0.93051\tval-auc:0.829447\n",
      "[2400]\ttrain-auc:0.938385\tval-auc:0.832771\n",
      "[2800]\ttrain-auc:0.944634\tval-auc:0.83536\n",
      "[3200]\ttrain-auc:0.949985\tval-auc:0.83733\n",
      "[3600]\ttrain-auc:0.954794\tval-auc:0.839113\n",
      "[4000]\ttrain-auc:0.958998\tval-auc:0.840858\n",
      "[4400]\ttrain-auc:0.962714\tval-auc:0.842336\n",
      "[4800]\ttrain-auc:0.966067\tval-auc:0.843623\n",
      "[5200]\ttrain-auc:0.968871\tval-auc:0.844395\n",
      "[5600]\ttrain-auc:0.971371\tval-auc:0.844473\n",
      "[6000]\ttrain-auc:0.973749\tval-auc:0.845031\n",
      "[6400]\ttrain-auc:0.975847\tval-auc:0.845167\n",
      "[6800]\ttrain-auc:0.977796\tval-auc:0.845671\n",
      "[7200]\ttrain-auc:0.979631\tval-auc:0.845728\n",
      "[7600]\ttrain-auc:0.981242\tval-auc:0.845936\n",
      "[8000]\ttrain-auc:0.982711\tval-auc:0.846209\n",
      "[8400]\ttrain-auc:0.984043\tval-auc:0.846417\n",
      "[8800]\ttrain-auc:0.985314\tval-auc:0.846489\n",
      "[9200]\ttrain-auc:0.986481\tval-auc:0.846823\n",
      "[9600]\ttrain-auc:0.987547\tval-auc:0.846828\n",
      "[10000]\ttrain-auc:0.988513\tval-auc:0.84652\n",
      "Stopping. Best iteration:\n",
      "[9507]\ttrain-auc:0.987308\tval-auc:0.846955\n",
      "\n",
      "fold n°8\n",
      "[0]\ttrain-auc:0.673203\tval-auc:0.688949\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.855214\tval-auc:0.840366\n",
      "[800]\ttrain-auc:0.887491\tval-auc:0.855287\n",
      "[1200]\ttrain-auc:0.906285\tval-auc:0.859527\n",
      "[1600]\ttrain-auc:0.919271\tval-auc:0.861966\n",
      "[2000]\ttrain-auc:0.929089\tval-auc:0.863775\n",
      "[2400]\ttrain-auc:0.936848\tval-auc:0.864794\n",
      "[2800]\ttrain-auc:0.943328\tval-auc:0.865883\n",
      "[3200]\ttrain-auc:0.949015\tval-auc:0.866502\n",
      "[3600]\ttrain-auc:0.953995\tval-auc:0.866845\n",
      "[4000]\ttrain-auc:0.958221\tval-auc:0.867245\n",
      "[4400]\ttrain-auc:0.962156\tval-auc:0.867574\n",
      "[4800]\ttrain-auc:0.965625\tval-auc:0.867482\n",
      "[5200]\ttrain-auc:0.968589\tval-auc:0.867047\n",
      "Stopping. Best iteration:\n",
      "[4568]\ttrain-auc:0.96372\tval-auc:0.867819\n",
      "\n",
      "fold n°9\n",
      "[0]\ttrain-auc:0.682061\tval-auc:0.626308\n",
      "Multiple eval metrics have been passed: 'val-auc' will be used for early stopping.\n",
      "\n",
      "Will train until val-auc hasn't improved in 800 rounds.\n",
      "[400]\ttrain-auc:0.858577\tval-auc:0.795828\n",
      "[800]\ttrain-auc:0.890739\tval-auc:0.815217\n",
      "[1200]\ttrain-auc:0.908908\tval-auc:0.824061\n",
      "[1600]\ttrain-auc:0.922191\tval-auc:0.829234\n",
      "[2000]\ttrain-auc:0.932238\tval-auc:0.83214\n",
      "[2400]\ttrain-auc:0.940407\tval-auc:0.834087\n",
      "[2800]\ttrain-auc:0.946859\tval-auc:0.835167\n",
      "[3200]\ttrain-auc:0.952373\tval-auc:0.836074\n",
      "[3600]\ttrain-auc:0.957125\tval-auc:0.836835\n",
      "[4000]\ttrain-auc:0.961236\tval-auc:0.837673\n",
      "[4400]\ttrain-auc:0.965062\tval-auc:0.838102\n",
      "[4800]\ttrain-auc:0.968425\tval-auc:0.838246\n",
      "[5200]\ttrain-auc:0.971271\tval-auc:0.838764\n",
      "[5600]\ttrain-auc:0.97392\tval-auc:0.839136\n",
      "[6000]\ttrain-auc:0.976314\tval-auc:0.838934\n",
      "[6400]\ttrain-auc:0.978469\tval-auc:0.838704\n",
      "Stopping. Best iteration:\n",
      "[5658]\ttrain-auc:0.974286\tval-auc:0.83919\n",
      "\n",
      "CV score: 0.84746 \n"
     ]
    }
   ],
   "source": [
    "max_iter = 10\n",
    "folds = StratifiedKFold(n_splits=10, random_state=1991)\n",
    "oof = np.zeros(len(train))\n",
    "predictions = np.zeros(len(test))\n",
    "feature_importance_df = pd.DataFrame()\n",
    "\n",
    "for fold_, (trn_idx, val_idx) in enumerate(folds.split(train.values, target.values)):\n",
    "    print(\"fold n°{}\".format(fold_))\n",
    "    X_trn, y_trn = train.iloc[trn_idx][features], target.iloc[trn_idx]\n",
    "    X_val, y_val = train.iloc[val_idx][features], target.iloc[val_idx]\n",
    "    X_trn = xgb.DMatrix(X_trn, label=y_trn)\n",
    "    X_val = xgb.DMatrix(X_val, label=y_val)\n",
    "    X_test = xgb.DMatrix(test[features])\n",
    "    clf = xgb.train(params, X_trn, 50000, [(X_trn,'train'),(X_val,'val')], verbose_eval = 400, early_stopping_rounds=800)\n",
    "    gc.collect()\n",
    "    oof[val_idx] = clf.predict(X_val)\n",
    "    \n",
    "    fold_importance_df = pd.DataFrame({\"importance\": clf.get_fscore(), \"fold\": fold_ + 1}).reset_index().rename({'index': 'feature'}, axis=1)\n",
    "    feature_importance_df = pd.concat([feature_importance_df, fold_importance_df], axis=0)\n",
    "\n",
    "    current_pred = clf.predict(X_test)\n",
    "    predictions += current_pred / min(folds.n_splits, max_iter)\n",
    "\n",
    "\n",
    "print(\"CV score: {:<8.5f}\".format(roc_auc_score(target, oof)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CV score: 0.84746 \n"
     ]
    }
   ],
   "source": [
    "print(\"CV score: {:<8.5f}\".format(roc_auc_score(target, oof)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f3b80380da0>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fi = feature_importance_df.groupby('feature')['importance'].mean().sort_values()\n",
    "plt.figure(figsize=(10,10))\n",
    "fi[-20:].plot.barh(fontsize=14)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Total no. of useful features are: 2690\n"
     ]
    }
   ],
   "source": [
    "print(f\"Total no. of useful features are: {(fi != 0).sum()}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = pd.Series(predictions).plot(kind='density')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "oof_df = pd.DataFrame()\n",
    "oof_df['patient_id'] = comp_train['patient_id']\n",
    "oof_df[TARGET_COL] = oof\n",
    "oof_df.to_csv(OUTPUT_PATH + 'oofs_xgb_2.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>patient_id</th>\n",
       "      <th>outcome_flag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>patient_2</td>\n",
       "      <td>0.083744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>patient_3</td>\n",
       "      <td>0.115366</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>patient_5</td>\n",
       "      <td>0.619801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>patient_8</td>\n",
       "      <td>0.013233</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>patient_14</td>\n",
       "      <td>0.312857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>patient_15</td>\n",
       "      <td>0.044436</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>patient_16</td>\n",
       "      <td>0.015750</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>patient_33</td>\n",
       "      <td>0.154302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>patient_38</td>\n",
       "      <td>0.049512</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>patient_41</td>\n",
       "      <td>0.144371</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   patient_id  outcome_flag\n",
       "0   patient_2      0.083744\n",
       "1   patient_3      0.115366\n",
       "2   patient_5      0.619801\n",
       "3   patient_8      0.013233\n",
       "4  patient_14      0.312857\n",
       "5  patient_15      0.044436\n",
       "6  patient_16      0.015750\n",
       "7  patient_33      0.154302\n",
       "8  patient_38      0.049512\n",
       "9  patient_41      0.144371"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sub_df = pd.DataFrame()\n",
    "sub_df[ID_COL] = comp_test[ID_COL]\n",
    "sub_df[TARGET_COL] = predictions\n",
    "sub_df[[TARGET_COL]].to_excel(OUTPUT_PATH + 'preds_xgb_2.xlsx', index=False)\n",
    "sub_df.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DONE-------------- !!!\n"
     ]
    }
   ],
   "source": [
    "print(\"DONE-------------- !!!\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
